【X68000(Z)アセンブラ講座 第024回 DMA(リンクモード)によるCG画像高速描画(解説編)】 2025/06/17   こんにちは!! 今回はアレイデータにリンクアドレスを追加したリンクアレイチェインモードを扱います。 リンクモードは扱い慣れたら自由度が増すと思います。 第023回のサンプルプログラムを動かしてみましたか? [ プログラムの解説 ] > アレイデータの一例 **************************************** dma_array_table: (long) | $C00000 + 512×2×64 + 64×2 (word) | 256 (long) | array001のアドレス(リンク先) ---------------------------------------- array001: (long) | $C00000 + 512×2×65 + 64×2 (word) | 256 (long) | array002のアドレス(リンク先) ---------------------------------------- array002: (long) | $C00000 + 512×2×66 + 64×2 (word) | 256 (long) | array003のアドレス(リンク先) ---------------------------------------- (array003〜array254の表記は省略) ---------------------------------------- array255: (long) | $C00000 + 512×2×319 + 64×2 (word) | 256 (long) | 0 (続きのリンク先が無い場合は0を配置) **************************************** この例は'set_dma_table'ルーチンを実行して完成したデータです。 リンクモードではアレイモードのアレイデータにリンク先アドレスが追加されています。 DMAは現在のデータ転送が終わったらリンク先データが示すアドレスにデータ参照を移し 続きのデータ転送を開始します。 リンク先アドレスが0の場合はデータ転送が終了後DMA転送を終了します。 DMAの説明は今回で終わりです。 お疲れ様でした!! [EOF]